package cn.gcyl.module.biz.controller.admin.platforminformation.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;

@Schema(description = "管理后台 - 平台信息 Response VO")
@Data
@ExcelIgnoreUnannotated
public class PlatformInformationRespVO {

    @Schema(description = "信息id", requiredMode = Schema.RequiredMode.REQUIRED, example = "10751")
    @ExcelProperty("信息id")
    private Long id;

    @Schema(description = "标题类型(项目采购商机 项目分包商机 集中招募商机)", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("标题类型")
    private String titleType;

    @Schema(description = "标题", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("标题")
    private String title;

    @Schema(description = "采购公司", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("采购公司")
    private String purchasingCompany;

    @Schema(description = "显示顺序", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("显示顺序")
    private Integer sort;

    @Schema(description = "浏览人数", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("浏览人数")
    private Integer visitors;

    @Schema(description = "收藏人数", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("收藏人数")
    private Integer collectors;

    @Schema(description = "分享人数", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("分享人数")
    private Integer shares;

    @Schema(description = "咨询人数", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("咨询人数")
    private Integer inquiries;

    @Schema(description = "状态（0正常 1停用）", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @ExcelProperty("状态（0正常 1停用）")
    private Integer status;

    @Schema(description = "咨询电话", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("咨询电话")
    private String phone;

    @Schema(description = "信息类型类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @ExcelProperty("信息类型类型")
    private String informationType;

    @Schema(description = "开始时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("开始时间")
    private LocalDateTime startTime;

    @Schema(description = "结束时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("结束时间")
    private LocalDateTime endTime;

    @Schema(description = "需求标签")
    @ExcelProperty("需求标签")
    private String requirementLabel;

    @Schema(description = "详情", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("详情")
    private String details;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

    @Schema(description = "更新时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("更新时间")
    private LocalDateTime updateTime;

    @Schema(description = "地区", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("地区")
    private String area;
    @Schema(description = "用户报名ids", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("用户报名ids")
    private String registeredUserIds;
    @Schema(description = "用户咨询ids", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("用户咨询ids")
    private String consultingUserIds;
    @Schema(description = "是否报名过(全部)", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("是否报名过(全部)")
    private String isSignUpIds;


    @Schema(description = "用户是否报名(0:未报名 1:已报名)", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("用户是否报名(0:未报名 1:已报名)")
    private Integer userIsRegistered;
    @Schema(description = "用户是否报名(0:未咨询 1:已咨询)", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("用户是否咨询(0:未咨询 1:已咨询)")
    private Integer userIsConsulting;
    /**
     * 是否报名过
     */
    @Schema(description = "用户是否报名全部(0:未报名 1:已报名)", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("用户是否报名全部(0:未报名 1:已报名)")
    private Integer userIsSignUpIds;

    /**
     * 是否收藏(0未收藏 1已收藏)
     */
    private Integer isCollect;
}